Security, reversing, mathematics. Writing emulators and hypervisors